package com.hnhs.controller;

import cn.hutool.core.codec.Base64;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.hnhs.info.ImgInfo;
import com.hnhs.info.UploadInfo;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.stream.Collectors;


@RestController
@RequestMapping("/api/upload")
public class UploadController {

    @PostMapping
    public String upload(@RequestBody UploadInfo uploadInfo){
        String name=uploadInfo.getName();
        String base64=uploadInfo.getBase64();
        String[] base64s= StrUtil.splitToArray(base64,"base64,");
        byte[] bytes= Base64.decode(base64s[1]);
        //使用雪花算法id
        name= IdUtil.getSnowflakeNextIdStr()+"_"+name;
        //写入到nginx中
        FileUtil.writeBytes(bytes,"D:/software/nginx-1.21.4/html/images/"+name);
        return "http://img.206.com/images/"+name;
    }

    @GetMapping
    public List<ImgInfo> get(){
        List<String> fileNames = FileUtil.listFileNames("D:/software/nginx-1.21.4/html/images/");

        List<ImgInfo> collect = fileNames.stream().map(
                item -> {
                    return new ImgInfo(item, "http://img.206.com/images/" + item);
                }
        ).collect(Collectors.toList());
        return collect;
    }

}
